<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://www.ncbi.nlm.nih.gov/soap/eutils/elink" elementFormDefault="qualified" targetNamespace="http://www.ncbi.nlm.nih.gov/soap/eutils/elink" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Attribute" type="xs:string" />
  <xs:element name="DbFrom" type="xs:string" />
  <xs:element name="DbTo" type="xs:string" />
  <xs:element name="ERROR" type="xs:string" />
  <xs:element name="IconUrl" type="xs:string" />
  <xs:element name="Info" type="xs:string" />
  <xs:element name="Name" type="xs:string" />
  <xs:element name="NameAbbr" type="xs:string" />
  <xs:element name="Score" type="xs:string" />
  <xs:element name="SubjectType" type="xs:string" />
  <xs:element name="Url" type="xs:string" />
  <xs:element name="MenuTag" type="xs:string" />
  <xs:complexType name="IdType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="HasLinkOut">
          <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
              <xs:enumeration value="Y" />
              <xs:enumeration value="N" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="HasNeighbor">
          <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
              <xs:enumeration value="Y" />
              <xs:enumeration value="N" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="IdCheckListType">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Id" type="tns:IdType" />
        <xs:element name="IdLinkSet" type="tns:IdLinkSetType" />
      </xs:choice>
      <xs:element minOccurs="0" ref="tns:ERROR" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IdLinkSetType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LinkInfo" type="tns:LinkInfoType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IdListType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Id" type="tns:IdType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IdUrlListType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="IdUrlSet" type="tns:IdUrlSetType" />
      <xs:element minOccurs="0" ref="tns:ERROR" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IdUrlSetType">
    <xs:sequence>
      <xs:element name="Id" type="tns:IdType" />
      <xs:choice>
        <xs:element maxOccurs="unbounded" name="ObjUrl" type="tns:ObjUrlType" />
        <xs:element ref="tns:Info" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LinkType">
    <xs:sequence>
      <xs:element name="Id" type="tns:IdType" />
      <xs:element minOccurs="0" ref="tns:Score" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LinkInfoType">
    <xs:sequence>
      <xs:element ref="tns:DbTo" />
      <xs:element name="LinkName" type="xs:string" />
      <xs:element ref="tns:MenuTag" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LinkSetType">
    <xs:sequence>
      <xs:element ref="tns:DbFrom" />
      <xs:element minOccurs="0" ref="tns:ERROR" />
      <xs:element minOccurs="0" name="IdList" type="tns:IdListType" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LinkSetDb" type="tns:LinkSetDbType" />
      <xs:element minOccurs="0" name="IdUrlList" type="tns:IdUrlListType" />
      <xs:element minOccurs="0" name="IdCheckList" type="tns:IdCheckListType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LinkSetDbType">
    <xs:sequence>
      <xs:element ref="tns:DbTo" />
      <xs:element name="LinkName" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Link" type="tns:LinkType" />
      <xs:element minOccurs="0" ref="tns:Info" />
      <xs:element minOccurs="0" ref="tns:ERROR" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ObjUrlType">
    <xs:sequence>
      <xs:element ref="tns:Url" />
      <xs:element minOccurs="0" ref="tns:IconUrl" />
      <xs:element name="LinkName" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="unbounded" ref="tns:SubjectType" />
      <xs:element minOccurs="0" maxOccurs="unbounded" ref="tns:Attribute" />
      <xs:element name="Provider" type="tns:ProviderType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ProviderType">
    <xs:sequence>
      <xs:element ref="tns:Name" />
      <xs:element ref="tns:NameAbbr" />
      <xs:element name="Id" type="tns:IdType" />
      <xs:element ref="tns:Url" />
      <xs:element minOccurs="0" ref="tns:IconUrl" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="eLinkResult">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="tns:ERROR" />
        <xs:element minOccurs="0" maxOccurs="unbounded" name="LinkSet" type="tns:LinkSetType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="db" type="xs:string" />
  <xs:element name="id" type="xs:string" />
  <xs:element name="reldate" type="xs:string" />
  <xs:element name="mindate" type="xs:string" />
  <xs:element name="maxdate" type="xs:string" />
  <xs:element name="datetype" type="xs:string" />
  <xs:element name="term" type="xs:string" />
  <xs:element name="dbfrom" type="xs:string" />
  <xs:element name="WebEnv" type="xs:string" />
  <xs:element name="query_key" type="xs:string" />
  <xs:element name="cmd" type="xs:string" />
  <xs:element name="tool" type="xs:string" />
  <xs:element name="email" type="xs:string" />
  <xs:element name="linkname" type="xs:string" />
  <xs:element name="eLinkRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="tns:db" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tns:id" />
        <xs:element minOccurs="0" ref="tns:reldate" />
        <xs:element minOccurs="0" ref="tns:mindate" />
        <xs:element minOccurs="0" ref="tns:maxdate" />
        <xs:element minOccurs="0" ref="tns:datetype" />
        <xs:element minOccurs="0" ref="tns:term" />
        <xs:element minOccurs="0" ref="tns:dbfrom" />
        <xs:element minOccurs="0" ref="tns:linkname" />
        <xs:element minOccurs="0" ref="tns:WebEnv" />
        <xs:element minOccurs="0" ref="tns:query_key" />
        <xs:element minOccurs="0" ref="tns:cmd" />
        <xs:element minOccurs="0" ref="tns:tool" />
        <xs:element minOccurs="0" ref="tns:email" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>